﻿using System.Collections;

namespace ConsoleApp6
{
    //5 迭代器
    //使用 yield 关键字可以在方法内部实现迭代器
    internal class Program
    {
        //1 创建一个简单的迭代器来遍历数字序列
        static IEnumerable GetNumbers()
        {
            yield return 1;
            yield return 2;
            yield return 3;
            yield return 4;
            yield return 5;
        }

        //2 迭代器与条件筛选一起使用
        static IEnumerable GetEvenNumbers(int max)
        {
            for (int i = 0; i <= max; i++)
            {
                if (i % 2 == 0)
                {
                    yield return i;
                }
            }
        }

        static void Main(string[] args)
        {
            foreach (int number in GetNumbers())
            {
                Console.WriteLine(number);
            }

            Console.WriteLine("**********");

            foreach (int evenNumber in GetEvenNumbers(10))
            {
                Console.WriteLine(evenNumber);
            }
        }



    }
}